From: Dmitry Monakhov Date: Tue, 2 Mar 2010 04:15:02 +0000 (-0500) Subject: ext4: explicitly remove inode from orphan list after failed direct io X-Git-Tag: archive/raspbian/4.9.13-1+rpi1~10^2~19203^2~15 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=da1dafca84413145f5ac59998b4cdd06fb89f721;p=linux-4.9.git ext4: explicitly remove inode from orphan list after failed direct io Otherwise non-empty orphan list will be triggered on umount. Signed-off-by: Dmitry Monakhov Signed-off-by: "Theodore Ts'o" --- diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index edb7edc99f71..427f4690ad6d 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -3438,6 +3438,9 @@ retry: * but cannot extend i_size. Bail out and pretend * the write failed... */ ret = PTR_ERR(handle); + if (inode->i_nlink) + ext4_orphan_del(NULL, inode); + goto out; } if (inode->i_nlink)